//进行经纬度转换为距离的计算
 
//计算距离，参数分别为第一点的纬度，经度；第二点的纬度，经度 
const getPointDistance = function(companyLng,companyLat){
		//当前位置与企业位置，
		const  that = this;
		return new Promise((resolve, reject) =>   {
		    uni.getLocation({
			type: 'wgs84', //gps坐标 (gcj02是高德的)
			altitude: false,
			geocode: false,
			highAccuracyExpireTime: 30000, 
			accuracy: 'best',
			isHighAccuracy: true,
			success: function(localInfo) {  
				const distanceResult = getDistance(localInfo.latitude,localInfo.longitude,companyLng,companyLat);
				resolve(distanceResult);
			},
			fail:function(err){
				console.log(err);
				// if(err.errCode == 4){
				// 	uni.showModal({
				// 		content:'请求地图服务器异常，请稍后再试!',
				// 		showCancel:false
				// 	})
				// 	return;
				// }
				// if(err.errCode == 7){
				// 	uni.showModal({
				// 		content:'地图KEY信息授权失败!',
				// 		showCancel:false
				// 	})
				// 	return;
				// }
				//uni.showModal({
				//	content:'获取定位信息错误',
				//	showCancel:false
				//})
			},
			complete:function(){
				// uni.hideLoading();
			}
		   }) 
		});
	}
//计算距离，参数分别为第一点的纬度，经度；第二点的纬度，经度 
const getCurrentPosition = function(companyLng,companyLat){
		//当前位置与企业位置，
		const  that = this;
		return new Promise((resolve, reject) =>   {
		   uni.getLocation({
			type: 'wgs84', //gps坐标 (gcj02是高德的)
			altitude: false,
			geocode: false,
			highAccuracyExpireTime: 30000, 
			accuracy: 'best',
			isHighAccuracy: true,
			success: function(localInfo) {  
				resolve(localInfo);
			},
			fail:function(err){
				console.log(err);
				/* if(err.errCode == 4){
					uni.showModal({
						content:'请求地图服务器异常，请稍后再试!',
						showCancel:false
					})
					return;
				}
				if(err.errCode == 7){
					uni.showModal({
						content:'地图KEY信息授权失败!',
						showCancel:false
					})
					return;
				} */
				//uni.showModal({
				//	content:'获取定位信息错误',
				//	showCancel:false
				//})
			},
			complete:function(){
			}
		   })
		});
	}

const getDistance = function(lat1, lng1,lat2,lng2) {
		var radLat1 = Rad(lat1);
		var radLat2 = Rad(lat2);
		var a = radLat1 - radLat2;
		var b = Rad(lng1) - Rad(lng2);
		var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
			Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
		s = s * 6378.137; // EARTH_RADIUS;
		//s = Math.round(s * 10000) / 10000; //输出为公里
		s = Math.round(s * 10000) / 10000 * 1000; //输出为米
		//s=s.toFixed(4);
		console.log(s, '米');
		return s;
		//return 20;//暂时取消距离判断了
	} 
const Rad = function(d) {
		return d * Math.PI / 180.0; //经纬度转换成三角函数中度分表形式。
	}
let mapUtil = {getPointDistance,getDistance,Rad ,getCurrentPosition};
export default  mapUtil;